package com.bj58.mis.apm.server.statistics.service;

import com.bj58.mis.apm.server.core.common.result.Page;
import com.bj58.mis.apm.server.statistics.dto.job.KylinJob;
import com.bj58.mis.apm.server.statistics.dto.job.KylinJobInfo;
import com.bj58.mis.apm.server.statistics.dto.job.KylinJobStepInfo;
import com.bj58.mis.apm.server.statistics.query.PageInfo;
import com.bj58.mis.apm.server.statistics.query.job.JobQuery;

import javax.validation.constraints.NotNull;

/**
 * @author zhangyu84
 * @create 2018/7/2
 * @since 1.0.0
 */
public interface JobService {
    /**
     * 查询当前用户的Job概况
     *
     * @param currUser 有权限的Cube ID列表
     * @param jobQuery 其他查询条件
     * @return
     */
  KylinJob jobSurvey(@NotNull String currUser, @NotNull JobQuery jobQuery);

    /**
     * 查询当前用户的Job列表
     *
     * @param currUser 有权限的Cube ID列表
     * @param jobQuery 其他查询条件
     * @param pageInfo 分页查询条件
     * @return
     */
  Page<KylinJobInfo> jobList(@NotNull String currUser, @NotNull JobQuery jobQuery, @NotNull PageInfo pageInfo);

    /**
     * 查询Job详情
     *
     * @param id Job的Id
     * @return
     */
  KylinJobStepInfo getJobInfoById(@NotNull String id);
}
